<?php
/**
 * <https://y.st./>
 * Copyright © 2016 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'Previous coding efforts are paying off.',
	'<{body}>' => <<<END
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2016/11/03.jpg" alt="My place of employment" class="framed-centred-image" width="811" height="480"/>
<p>
	Current countdowns:
</p>
<ul>
	<li>
		237 scheme-specific $a[URI]-parsing classes to write and add to <a href="https://git.vola7ileiax4ueow.onion/y.st./include.d/releases">include.d</a>
	</li>
	<li>
		1 free elective left in my associate degree program
	</li>
	<li>
		4 free electives left in my bachelor degree program
	</li>
</ul>
<p>
	Topics for essays that I want to write outside of school:
</p>
<ul>
	<li>
		How the $a[GFDL] isn&apos;t a free license, and is effectively nonfree even when invariant sections aren&apos;t used
	</li>
	<li>
		How the telephone number system is screwy
	</li>
	<li>
		How postpaid mobile plans are bad for customers
	</li>
	<li>
		How connections using &quot;untrusted&quot; $a[TLS] certificates are more trustworthy than connections without any $a[TLS] certificate at all
	</li>
	<li>
		The importance of free software
	</li>
	<li>
		The importance of free media
	</li>
</ul>
<p>
	Even though exhausted from lack of sleep, I was able to finish seven of my $a[URI] classes today (<code>acap:</code>, <code>acct:</code>, <code>acr:</code>, <code>adiumxtra:</code>, <code>http:</code>, <code>https:</code>, and <code>shttp:</code>).
	That first trio of classes that I worked on the other day gave me a pessimistic view of the time frame of my project.
	The problem is that the two schemes that those three classes represent don&apos;t follow the basic $a[URI] grammar.
	I had to invent the parser for them from scratch.
	However, most $a[URI] schemes <strong>*do*</strong> obey the rules, and when they obey the rules, I already have the framework.
	Probably over six months ago, I built a powerful generic $a[URI] parser and validator.
	I also built a layer on top of that parse/validator, designed to sit under thin scheme-specific classes to do most of the heavy lifting.
	As long as a $a[URI] scheme&apos;s syntax respects the rules laid out in $a[RFC] 3986, I can reuse a lot of my code so I don&apos;t have to rewrite it.
</p>
<p>
	I started working on the class for dealing with the <code>cap:</code> scheme, but that&apos;s when I put down my code for the day.
	The bizarre syntax of that scheme doesn&apos;t differentiate between the path and the query, allowing question marks to show up anywhere within the substring composed of the two.
	Also within this substring are allowed &quot;@&quot; symbols and colons, which $a[RFC] 3986 allows in the path but not in the query.
	I&apos;m going to have to figure out what to do with the quirky syntax, but I&apos;m too tired to deal with that right now.
	I&apos;ll probably have the scheme-specific class encode something, though I&apos;m not sure yet if it&apos;ll encode the &quot;@&quot; symbols and colons or the question marks.
	I&apos;ll probably end up encoding the &quot;@&quot; symbols and colons, as that&apos;ll be easier, but I&apos;ll only encode them in the query string, not the path string.
</p>
<p>
	My boss told me to bring in my documentation to prove my legal right to employment in this country today, but it seems that they actually wanted my to provide a printed scan of it, so I&apos;ll bring that by tomorrow when I come in for my shift.
	Last time, they wanted to see the original documents, if I recall.
	They also gave me some paperwork to fill out and bring back as well.
	According to the paperwork that my boss filled out, today marks the point at which I&apos;ve officially become employed.
	They tried to find me some work uniform shirts, but they&apos;re out of my sized.
	They ended up giving me a slightly-too-small manager uniform, despite the fact that I&apos;m not a manager, simply because it was the largest size that they had on hand.
	Also, I was assigned a $a[PIN] to use when clocking in.
	Last time, much to my frustration, they insisted that my $a[PIN] be the final four digits of my Social Security number.
	This time, they set my $a[PIN] to be the final four digits of my Google Voice number.
	It&apos;s not great, but it&apos;s a huge improvement.
</p>
<p>
	I really should stay up until 22:00 so that I can check on my courses and try to get them switched, but I&apos;m far too tired for that and I have work early-ish in the morning.
	I&apos;ll either check on my courses when I wake up (if I wake up before my alarm goes off) or I&apos;ll check on them when I get home from work.
</p>
<p>
	My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
</p>
END
);
